package Dominio;

import java.util.ArrayList;

public class Semestre {
    private int clave_semestre;
    private int numeroDeSemestre;
    private String nombre;
    private ArrayList<Asignatura> ListaDeAsignaturas;
    private int claveReticula;

    public Semestre(int clave_semestre, int numeroDeSemestre, String nombre, ArrayList<Asignatura> ListaDeAsignaturas) {
        this.clave_semestre = clave_semestre;
        this.numeroDeSemestre = numeroDeSemestre;
        this.nombre = nombre;
        this.ListaDeAsignaturas = ListaDeAsignaturas;
    }

    public Semestre(int numeroDeSemestre) {
        this.numeroDeSemestre = numeroDeSemestre;
        this.ListaDeAsignaturas = new ArrayList<Asignatura>();
    }    
    
    public Semestre(int numeroDeSemestre, String nombre) {
        this.numeroDeSemestre = numeroDeSemestre;
        this.nombre = nombre;
    }

    public int getClaveReticula() {
        return claveReticula;
    }

    public void setClaveReticula(int claveReticula) {
        this.claveReticula = claveReticula;
    }

    public Semestre(int clave_semestre, int numeroDeSemestre, String nombre, ArrayList<Asignatura> ListaDeAsignaturas, int claveReticula) {
        this.clave_semestre = clave_semestre;
        this.numeroDeSemestre = numeroDeSemestre;
        this.nombre = nombre;
        this.ListaDeAsignaturas = ListaDeAsignaturas;
        this.claveReticula = claveReticula;
    }

    public Semestre(ArrayList<Asignatura> ListaDeAsignaturas, int claveReticula) {
        this.ListaDeAsignaturas = ListaDeAsignaturas;
        this.claveReticula = claveReticula;
    }
    

    public int getClave_semestre() {
        return clave_semestre;
    }

    public void setClave_semestre(int clave_semestre) {
        this.clave_semestre = clave_semestre;
    }

    public int getNumeroDeSemestre() {
        return numeroDeSemestre;
    }

    public void setNumeroDeSemestre(int numeroDeSemestre) {
        this.numeroDeSemestre = numeroDeSemestre;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public ArrayList<Asignatura> getListaDeAsignaturas() {
        return ListaDeAsignaturas;
    }

    public void setListaDeAsignaturas(ArrayList<Asignatura> ListaDeAsignaturas) {
        this.ListaDeAsignaturas = ListaDeAsignaturas;
    }
    
    public void agregarAsignatura(Asignatura asignatura){
        if(this.ListaDeAsignaturas != null){
            this.ListaDeAsignaturas.add(asignatura);
        }else{
            this.ListaDeAsignaturas = new ArrayList<Asignatura>();
            this.ListaDeAsignaturas.add(asignatura);
        }
        
    }
    
    public void eliminarAsignatura(Asignatura asignatura){
        this.ListaDeAsignaturas.remove(asignatura);
    }
    public void eliminarAsignatura(String nombre){
        int index=-1;
        for(int i=0;i<this.ListaDeAsignaturas.size();i++){
            if(this.ListaDeAsignaturas.get(i).getNombre().equalsIgnoreCase(nombre)){
                index = i;
            }
        }
        if(index>-1){
            this.ListaDeAsignaturas.remove(index);
        }
    }
    
    public String toString(){
        return this.ListaDeAsignaturas.toString();
    }
}
